1. Field
The present invention relates to computing devices. In particular, but not by way of limitation, the present invention relates to apparatus and methods that enable control of hardware devices of computing devices.
2. Background
Mobile computing devices such as smartphones, netbooks, gaming devices, PDAs, and laptops now typically include a variety of hardware devices such as cameras, and these mobile computing devices are now capable of running relatively sophisticated operating systems that enable users to interact with the hardware devices in a simplified and often intuitive manner.
The cameras that are now available in mobile computing devices, for example, include camera lens actuators (e.g., voice coil motor (VCM) and piezoelectric actuators) that are very popular and widely used. These actuators are used to drive the optical lens set of the camera along the optical axis to achieve a desired focus. An important aspect of controlling the focus of the lens set is to control the lens motion with optical precision. Known detrimental factors that interfere with the precision control of these lens sets are: 1) linear sub-optimal lens movement and 2) ringing. These two factors can be corrected using a tuning process that is used to derive characterization parameters that vary for the different types of actuators-lens combination. Currently, different software drivers are developed for each type of actuator that incorporates the tuning parameters.
As a consequence, ongoing maintenance of the actuator drivers is difficult because changes must be made to each of the different actuator drivers. And in addition, whenever new actuator hardware is developed, the vendors must expend time and resources developing new corresponding drivers. Accordingly, the current approach to device driver deployment is less than ideal and will most certainly not be satisfactory in the future.